package org.ccay.core.base;

import java.util.List;

import org.springframework.util.Assert;

/**
 * 内存分页
 * @author chaowangbang
 *
 * @param <T>
 */
public class RamPager <T> {  
	
	private List<T> data;
	
	private int pageSize;
  
    /**
     * @param data 数据
     * @param pageSize 每页条数
     */
    public RamPager(List<T> data, int pageSize) {
    	Assert.notEmpty(data);
		this.data = data;
		this.pageSize = pageSize;
	}
    
    /**
     * 获取某页数据，从第1页开始
     * @param pageNum
     * @return
     */
    public List<T> page(int pageNum){
    	int from = (pageNum - 1) * pageSize;  
        int to = Math.min(pageNum * pageSize,data.size()) ;  
		return data.subList(from, to);
    }
    
    /**
     * 获取总页数
     * @return
     */
    public int getPageCount(){
    	return data.size()%pageSize + 1;
    }
    
}  